<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>picasa.js (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
  </script>

  <script src="static/js/doc.js">
  </script>

  <meta charset="utf8">
</head>

<body onload="prettyPrint()">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
       <span class="fn">picasa.js</span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    provides a reusable picasa album UI component given a public
 picasa album URL.

 TODO: implement the javascript viewer, for users without flash. Get it
 from the Gmail Picasa gadget.

 goog.ui.media.PicasaAlbum is actually a {@link goog.ui.ControlRenderer}, a
 stateless class - that could/should be used as a Singleton with the static
 method {@code goog.ui.media.PicasaAlbum.getInstance} -, that knows how to
 render picasa albums. It is designed to be used with a
 {@link goog.ui.Control}, which will actually control the media renderer and
 provide the {@link goog.ui.Component} base. This design guarantees that all
 different types of medias will behave alike but will look different.

 goog.ui.media.PicasaAlbum expects {@code goog.ui.media.PicasaAlbumModel}s on
 {@code goog.ui.Control.getModel} as data models, and render a flash object
 that will show a slideshow with the contents of that album URL.

 Example of usage:

 <pre class="lang-js">
 var album = goog.ui.media.PicasaAlbumModel.newInstance(
 &#39;<a href="http://picasaweb.google.com/username/SanFranciscoCalifornia&#39;">http://picasaweb.google.com/username/SanFranciscoCalifornia&#39;</a>);
 goog.ui.media.PicasaAlbum.newControl(album).render();
 </pre>

 picasa medias currently support the following states:

 <ul>
 <li> {@link goog.ui.Component.State.DISABLED}: shows &#39;flash not available&#39;
 <li> {@link goog.ui.Component.State.HOVER}: mouse cursor is over the album
 <li> {@link goog.ui.Component.State.SELECTED}: flash album is shown
 </li></li></li></ul>

 Which can be accessed by

 <pre class="lang-js">
 picasa.setEnabled(true);
 picasa.setHighlighted(true);
 picasa.setSelected(true);
 </pre>
  </div>
  

        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="closure_goog_ui_media_picasa.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
          </ol>
        </div>
</div>

<h2 class="g-first">File Location</h2>
  <div class="g-section g-tpl-20-80">
    <div class="g-unit g-first">
      <div class="g-c-cell code-label">ui/media/picasa.js</div>
    </div>
  </div>
<hr/>


  <h2>Classes</h2>
 <div class="fn-constructor">
        <a href="class_goog_ui_media_PicasaAlbum.html">
          goog.ui.media.PicasaAlbum</a><br/>
        <div class="class-details">Subclasses a goog.ui.media.MediaRenderer to provide a Picasa specific media
renderer.

This class knows how to parse picasa URLs, and render the DOM structure
of picasa album players and previews. This class is meant to be used as a
singleton static stateless class, that takes {@code goog.ui.media.Media}
instances and renders it. It expects {@code goog.ui.media.Media.getModel} to
return a well formed, previously constructed, object with a user and album
fields {@see goog.ui.media.PicasaAlbum.parseUrl}, which is the data model
this renderer will use to construct the DOM structure.
{@see goog.ui.media.PicasaAlbum.newControl} for a example of constructing a
control with this renderer.

goog.ui.media.PicasaAlbum currently displays a picasa-made flash slideshow
with the photos, but could possibly display a handwritten js photo viewer,
in case flash is not available.

This design is patterned after <a href="http://go/closure_control_subclassing">http://go/closure_control_subclassing</a>

It uses {@link goog.ui.media.FlashObject} to embed the flash object.</div>
 </div>
 <div class="fn-constructor">
        <a href="class_goog_ui_media_PicasaAlbumModel.html">
          goog.ui.media.PicasaAlbumModel</a><br/>
        <div class="class-details">The {@code goog.ui.media.PicasaAlbum} media data model. It stores a required
{@code userId} and {@code albumId} fields, sets the picasa album URL, and
allows a few optional parameters.</div>
 </div>
      
<br/>

  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>


  <h2>Global Functions</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ui.media.PicasaAlbumModel.buildUrl"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ui.media.PicasaAlbumModel.</span><span class="entryName">buildUrl<span class="args">(<span class="arg">userId</span>,&nbsp;<span class="arg">albumId</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
      </div>


     <div class="entryOverview">
       The opposite of {@code newInstance}: takes an {@code userId} and an
{@code albumId} and builds a URL.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">userId</span>
        : <div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">The user that owns the album.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">albumId</span>
        : <div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">The album id.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>&nbsp;
            The URL of the album.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_ui_media_picasa.js.source.html#line286">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.ui.media.PicasaAlbumModel.matcher_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ui.media.PicasaAlbumModel.</span><span class="entryName">matcher_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Regular expression used to extract the picasa username and albumid out of
picasa URLs.

Copied from <a href="http://go/markdownlite.js">http://go/markdownlite.js</a>,
and {@link PicasaWebExtractor.xml}.
     </div>

   
  </td>


  <td class="view-code">
     <a href="closure_goog_ui_media_picasa.js.source.html#line252">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ui.media.PicasaAlbum.newControl"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ui.media.PicasaAlbum.</span><span class="entryName">newControl<span class="args">(<span class="arg">dataModel</span>,&nbsp;<span class="arg">opt_domHelper</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="class_goog_ui_media_Media.html">goog.ui.media.Media</a></span></div>
      </div>


     <div class="entryOverview">
       A static convenient method to construct a goog.ui.media.Media control out of
a picasa data model. It sets it as the data model goog.ui.media.PicasaAlbum
renderer uses, sets the states supported by the renderer, and returns a
Control that binds everything together. This is what you should be using for
constructing Picasa albums, except if you need finer control over the
configuration.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">dataModel</span>
        : <div class="fullType"><span class="type"><a href="class_goog_ui_media_PicasaAlbumModel.html">goog.ui.media.PicasaAlbumModel</a></span></div>
        <div class="entryOverview">A picasa album data model.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_domHelper</span>
        : <div class="fullType"><span class="type"><a href="class_goog_dom_DomHelper.html">goog.dom.DomHelper</a></span></div>
        <div class="entryOverview">Optional DOM helper, used for document interaction.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="class_goog_ui_media_Media.html">goog.ui.media.Media</a></span></div>&nbsp;
            A Control instance binded to the Picasa renderer.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_ui_media_picasa.js.source.html#line131">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ui.media.PicasaAlbumModel.newInstance"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ui.media.PicasaAlbumModel.</span><span class="entryName">newInstance<span class="args">(<span class="arg">picasaUrl</span>,&nbsp;<span class="arg">opt_caption</span>,&nbsp;<span class="arg">opt_description</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="class_goog_ui_media_PicasaAlbumModel.html">goog.ui.media.PicasaAlbumModel</a></span></div>
      </div>


     <div class="entryOverview">
       Gets a {@code picasaUrl} and extracts the user and album id.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">picasaUrl</span>
        : <div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">A picasa album URL.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_caption</span>
        : <div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">An optional caption of the picasa album.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_description</span>
        : <div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">An optional description of the picasa album.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="class_goog_ui_media_PicasaAlbumModel.html">goog.ui.media.PicasaAlbumModel</a></span></div>&nbsp;
            The picasa album data model that represents the picasa URL.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_ui_media_picasa.js.source.html#line266">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>



  <h2>Global Properties</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.ui.media.PicasaAlbum.CSS_CLASS"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ui.media.PicasaAlbum.</span><span class="entryName">CSS_CLASS</span>
        : <div class="fullType"><span class="type"><a href="http://www.google.com/url?sa=D&q=https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
     </div>


     <div class="entryOverview">
       Default CSS class to be applied to the root element of components rendered
by this renderer.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_ui_media_picasa.js.source.html#line114">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>



      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Directory media</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">File Reference</h2>
            <div id="sideFileIndex" rootPath="closure/goog" current="ui/media/picasa.js"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
